home *** CD-ROM | disk | FTP | other *** search
-
- Pro AudioSpectrum Software Development Kit
- Copyright (c) 1991-1993. Media Vision, Inc. All Rights Reserved
-
-
- Final Release 3.00, April 7, 1993
- Update Release 2.02, October 2, 1992
- Update Release 2.01, October 2, 1992
- Final Release 2.00, July 22, 1992
-
-
- This release of source code for the Pro AudioSpectrum has been
- developed with Microsoft MASM, 5.1, and Microsoft C, 6.0, as well as,
- Borland C and TASM.
-
- The code on this disk is fully functional. Each routine has been
- compiled for tiny, small, and large model.
-
- The contents of this floppy should be copied into the same directory
- structure as found on the floppies. When copied on to the hard drive, the
- developers kit will build the following directory tree:
-
- \INC
- \SAMPLES
- \PAS ƒƒƒ¬ƒ INC
- √ƒ MISC
- √ƒ CDROMAPP
- √ƒ PCM
- √ƒ TOOLS
- ¿ƒ SUBS ƒ¬ƒ CDROM
- √ƒ FM
- √ƒ MIDI
- √ƒ MISC
- √ƒ MIXERS
- ≥ ¿ƒƒƒFYI
- √ƒ MVSOUND
- √ƒ PCM
- ¿ƒ VIDEO
-
- To install the contents of the floppies to your hard drive, do
- the following:
-
-
- 1) Change directories to the root on both the source and
- target drives.
-
- cmd: c:\>CD \
- cmd: c:\>CD a:\
-
- 2) Use DOS's XCOPY to move the entire contents of the first
- diskette to the hard drive.
-
- cmd: C:\>XCOPY a:\*.* /s
-
- 3) Again, use DOS's XCOPY to move the entire contents of the
- second diskette to the hard drive.
-
- cmd: >XCOPY a:\*.* /s
-
- 4) Once XCOPY is done, you're all done.
-
-
- Remember, to use the MAKE files, set the "INCLUDE" and "LIB"
- environment variables before executing MAKE.EXE.
-
- cmd: SET INCLUDE=c:\inc;c:\pas\inc;%include%
- SET LIB=c:\pas\inc;%include%
-
- Also, If you intend on rebuilding the libraries in this release,
- you may have to modify the include and library paths.
-
-
- ----====< Revision History >====----
-
- Changes as of 04/07/93
-
- 1. Each subdirectory now includes a batch file
- called "MK.BAT" that compiles/assembles the code
- using the choosen compiler. To compile and link
- using Borland tools, check out the MK.BAT and
- make files.
-
- 2. There is a set of libraries for both Microsoft
- and Borland in the \pas\inc subdirectory.
-
- 3. Changes to each module will be documented via the
- SCCS comments at the top of each module.
-
- Changes as of 12/08/92
-
- 1. Had to move a lot of external declarations around
- in the .ASM files so large model Borland would not
- barf at link time. The anamoly was fixup-overflows
- on certain subroutine addresses in PCMIOA.ASM,
- MVOUT.ASM, 3812A.ASM, MVSOUND.ASM, etc.
-
- 2. There is now an example batch file for building
- PLAYFILE, RECFILE, and CDROM applications. This batch
- file is called "MK.BAT".
-
- 3. Large model Borland libraries where missing parts
- of MVSOUND.ASM due to a compile bug. This has been
- fixed.
-
- Changes as of 11/11/92
-
- 1. All MAKE files for the libraries have been extensively
- rewritten to support the Borland Tools. Microsoft
- MAKE.EXE compatibility has been dropped in favor of
- NMAKE.EXE. This was done to create across the board
- compatiblity between the two development environments.
-
- 2. The number of MAKE files that are used to build the
- libraries have been reduced. Each subdirectory has
- one MAKE that uses internal runtime conditionals.
-
- 3. Minor code modifications have been made to various
- modules to be compatible with Borland tools.
-
- 4. PCMIOC.C has had extensive work. Memory block allocation
- is done directly through DOS instead of using a 'C'
- library function. Also, file access is performed
- directly through DOS instead of using the 'C' streams.
- This may cause problems with the stream file pointers.
- Assume the file pointers to be corrupted after use by
- PCMIOC.C, and reposition as necessary.
-
- 5. DIALOG.C now will dissolve to the original screen.
-
-
- Changes as of 10/02/92
-
- 1. MVGetHardware name has been changed for consistency,
- to mvGetHardware.
-
- 2. The MIDI lowlevel code had a fatal bug when used in
- large model due to NEAR declaration.
-
- 3. PCMIOC.C now has additional routines that provide
- simple, arbitrary block size, record/playback. The
- code is complete, but needs complete documentation.
- Code examples will follow on the next update.
-
- Changes as of 07/22/92
-
- 1. CDROM access routines are provided to start/stop
- music CDs. Reference documentation is included in
- the developers manual.
-
- 2. MIDI low level routines have been added. Hardware
- specs are provided in the developers manual.
-
- 3. Source code to the mixer interface is provided, with
- major caveats.
-
- 4. All low level routines that touch the hardware, now
- reference it indirectly. This allows the code to
- run on board that are using alternate I/O addresses.
- All Pro Audio Spectrums based on the MV101 ASIC, can
- be moved to different I/O locations.
-
- 5. Building the libraries can now be accomplished using
- NMAKE or MAKE. All the make files are geared to be
- executed by both utilities. Batch files are included
- to build each model type.
-
- 6. 3812.EXE has been replaced by OPL3.EXE. This program
- gives the user point-and-click control over the OPL3
- FM chip.
-
- 7. Borland Tools support is forthcoming. The assembler
- code can be compiled using MASM51 and QUIRKS mode. The
- 'C' routines still have some areas to be worked out.
-
- 8. Source code for PLAYFILE/RECFILE have been updated to
- perform 16 bit digital audio.
-
- 9. High order DMA and IRQ channels are supported. See
- MVSOUND.ASM for example code.
-
- 10. More sample programs are included, for FM, MIDI, etc.
-
- 11. MVSOUND.SYS is required for initializing the hardware
- and performing mixer/volume control.
-
- 12. A source code control system has been established at
- Media Vision to track all modules in the developers
- kit. Each source code file contains a log of the
- modifications.
-
- Changes as of 12/02/91
-
- 1. MIXERC.C and the static mixer driver have been
- changed slightly to allow the static driver to
- share the same hardware state table as the linked
- library routines. Before, this, two separate
- tables were used, causing a potential miscommun-
- ication between modules.
-
- 2. MIXERC.C has a new function call added that allows
- the programmer to load a new hardware state pointer,
- or read the existing one, in the static mixer driver.
- This is only required if the programmer wants to
- use a third table. For most applications, this
- function can be ignored. All the linked and static
- code now use the same table.
-
- 2. MIXERC.C had a bug in checking the version number
- of MVSOUND.SYS. This was corrected by adding one
- instruction.
-
- Changes as of 8/26/91
-
- 1. StartFileOutput routine has a new parameter. A
- "long" variable that holds the number of bytes to
- be played from the file. Once the bytes have been
- played, the file pointer will point to the next
- byte. To play the whole file, just pass in a -1.
-
- 2. PCMState has a new parameter defining the audio
- compression. At the time, it is 0. Look for coming
- updates...
-
- 3. PCMIO.H has been updated for the two changes
- mentioned above.
-
- 4. The Block IN/OUT API routines in PCMIOC.C has been
- re-written due to problems in starting and stopping
- the DMA buffer. There was popping on playback between
- blocks.
-
- Changes as of 8/21/91
-
- 1. RECFILE.EXE had a couple more bugs in creating the
- .WAV header. Both RECFILE.EXE and FIXWAVE.EXE have
- been updated to fix these problems.
-
- 2. PCMIOC.C had a bug in ASpecialContinueFileInput which
- included discarded blocks in the "ProcessedBlockCount"
- variable.
-
- Changes as of 8/02/91
-
- 1. STATE.H and STATE.INC had some incorrect structure
- entries.
-
- Changes as of 7/19/91
-
- 1. MASM.INC macro "externADDR" used @datasize instead
- of @codesize. This affected certain memory modules.
-
- 2. PCMIO.H was moved from the "\inc" subdirectory to
- "\pas\inc". This was done for the Thunderboard code.
-
- 3. RECFILE.EXE now has a feature to pause during recording
- by typing the spacebar.
-
- Changes as of 7/17/91
-
- 1. PLAYFILE.EXE has been extensively re-written to
- handle .VOC files in a more efficient way.
-
- 2. RECFILE.EXE now records to .VOC, as well as, .WAV
- formats.
-
- 3. All the make files have been modified to remove
- all references to "LIBH". This is not necessary
- when using combined Microsoft libraries.
-
- 4. Previously omitted routines for PCM polling are
- now available in source code. The names are,
- "EnablePCMRecord" and "EnablePCMPlay". The code
- is located in \PAS\SUBS\MVSOUND\MVSOUND.ASM. These
- routines are similar to "PCMPlay" and "PCMRecord",
- but only setup the hardware for polling. The DMA
- is not involved; therefore, once either routine is
- called, the CPU must poll for all data transfers.
-
- 5. WAVEIT.EXE had a bug that appended up to 2 extra
- samples to the end of the new output file. This
- caused popping on playback.
-
- 6. MVGetHWVersion now returns a long, instead of an
- int. The high word indicates a product type: 0 for
- the Pro AudioSpectrum; and later, will return a 1
- for the Thunderboard.
-
- Changes as of 7/12/91
-
- 1. MVSOUND.SYS is now included in the tools subdirectory.
-
- 2. \SAMPLES subdirectory has been added to provide
- some sample .WAV files. Other miscellaneous data
- files will also be placed here in the future.
-
- 3. A list of all files is now included in the "\PAS"
- subdirectory. The file name is CONTENTS.LST.
-
- 4. A make file for MVI.C has been added to the \PAS\MISC
- subdirectory.
-
- Changes as of 7/08/91
-
- 1. In the function call, "cMVGetMixerFunction" and
- "MVGetMixerFunction" the returned integer is made
- up of 2 bytes. The low byte is the current mixer
- setting (in percentage: 0 - 100), and the high
- byte is TRUE/FALSE (0 or FF) to indicate if that
- channel is active. This also affects MVSOUND.SYS,
- since this routine is incorporated. The new version
- number for MVSOUND.SYS is 1.03.
-
- 2. NOTE!!! Since the tiny programming model was not
- supported in Microsoft C 5.1, some of the ".C" modules
- will not link correctly in tiny model; Therefore, until
- furthur notice (and furthur re-writing of code...) C 6.0
- will be required for tiny model. This only affects those
- modules written in "C".
-
- 3. DIALOG.C and DIALOGA.ASM both contained bugs when
- used in large model. Stuff like using near pointers
- instead of far, etc.
-
- 4. An early change in the code replaced the "FFAR"
- used in some .ASM modules. There is a MASM
- "feature" in version 5.10 (but corrected in 5.10b)
- that did not allow for equate text replacedment on
- the EXTRN statement. The new approach uses a
- macro that configures the EXTRN for near/far
- depending upon the selected model.
-
- 5. The developers code release disk has been reorganized
- to allow for future additions for the Thunderboard.
- This change places a new directory, "inc" in the
- root. This directory will hold common include files
- for both the Pro Audio Spectrum and the Thunderboard.
-
- 6. A new function has been added to the library. The
- name is "InitMVHardware". It resets the hardware to
- the same default state as of MVSOUND.SYS.
-
-